import { createI18n } from 'vue-i18n'
import en from '@/locale/en.json' // 英文
import zhHans from '@/locale/zh-Hans.json' // 中文-简体
import zhHant from '@/locale/zh-Hant.json' // 中文-繁体

export const locales = [
  {
    label: '中文-简体',
    file: zhHans,
    key: 'zh-Hans',
  },
  {
    label: '中文-繁体',
    file: zhHant,
    key: 'zh-Hant',
  },
  {
    label: '英文',
    file: en,
    key: 'en',
  },
]
const messages = locales.reduce((acc, locale) => {
  acc[locale.key] = locale.file
  return acc
}, {})

export const i18n = createI18n({
  // 使用 Vue 3 Composition API
  legacy: false,
  // 全局注入 $t, $d 等方法
  globalInjection: true,
  // 去除国际化警告
  silentTranslationWarn: true,
  // 备选语言
  fallbackLocale: 'zh-Hans',
  // 默认语言
  // eslint-disable-next-line no-undef
  locale: uni.getLocale(), // 获取已设置的语言
  messages,
})

export default {
  install(app) {
    app.use(i18n)
  },
}
